A Truly Concurrent Semantics for a Simple Parallel Programming Language

نویسندگان

  • Paul Gastin
  • Michael W. Mislove
چکیده

This paper gives the first truly concurrent denotational, i.e., compositional semantics for a simple, deterministic parallel language. By truly concurrent we mean the denotational model does not rely on an interleaving of concurrent actions for its definition. Thus, our semantics does not reduce parallelism to nondeterminism, as is done in the more established approaches to concurrency. We also present a natural SOS-style operational semantics for our language, and we prove a congruence theorem relating the two semantics. This implies the operational model itself is compositional. The congruence theorem also implies the denotational model is adequate with respect to the operational semantics, and we characterize the relatively mild conditions under which the denotational semantics is fully abstract with respect to the operational semantics. Our simple language includes a (weak) sequential composition operator which takes advantage of the truly concurrent nature of the semantics, as well as a parallel composition operator which allows local events to execute asynchronously, while requiring synchronizing events to execute simultaneously. In addition, the language supports a restriction operator and includes recursion. The denotational semantics also is novel for its treatment of recursion. The meaning of a recursive process is defined using a least fixed point on a subdomain that is determined by the body of the recursion, and that varies from one process to another. Nonetheless, the recursion operators in the language have continuous interpretations in the denotational model. Our denotational model is based on a domain-theoretic generalization of Mazurkiewicz traces in which the concatenation operator, as well as the other operators from our language can be given continuous interpretations. 1 The support of the National Science Foundation and the US Office of Naval Research is gratefully acknowledged.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Concurrent Semantics of Static Exceptions in a Parallel Programming Language

This paper aims at introducing a mechanism of exceptions in a parallel programming language, giving them a formal concurrent semantics in terms of preemptible and composable high-level Petri nets. We show that, combined with concurrency, exceptions can be used as a basis for other preemption related constructs. We illustrate this idea by presenting a generalized timeout and a simple UNIX-like s...

متن کامل

Contribution to Semantics of a Data-Parallel Logic Programming Language

We propose an alternate approach to the usual introduction of parallelism in logic programming. Instead of detecting the intrinsic parallelism by an automatic and complex data-ow analysis, or upgrading standard logic languages by explicit concurrent control structures leading to task-oriented languages, we tightly integrate the concepts of the data-parallel programming model and of logic progra...

متن کامل

Structured Exception Semantics for Concurrent Loops

Concurrent languages have offered parallel loop constructs for some time to allow a parallel computation to be expressed in a simple and straightforward fashion. Modern programming languages include exceptions to allow for clean handling of errors or unexpected conditions, but few concurrent languages incorporate exception handling into their models for parallel loops. As a result, programmers ...

متن کامل

A Trully Concurrent Semantics for the K Framework Based on Graph Transformations

This paper gives a truly concurrent semantics with sharing of resources for the K semantic framework, an executable (term-)rewritingbased formalism for defining programming languages and calculi. Akin to graph rewriting rules, the K (rewrite) rules explicitly state what can be concurrently shared with other rules. The desired true concurrency is obtained by translating the K rules into a novel ...

متن کامل

Compact Net Semantics for Process Algebras

Process algebras and Petri nets are two well known formal methods. In the literature, several mappings from process algebras to Petri nets have been proposed to provide a truly concurrent semantic framework to concurrent programming languages. From an applicative point of view, such mappings facilitate the integration and the cross fertilization between the two formalisms, making it possible th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999